package com.dm.dao;

import com.dm.dto.FolderAttributeDto;
import com.dm.dto.FoldersDto;
import com.dm.dto.input.FolderDto;
import com.dm.entity.Folder;

import java.math.BigInteger;
import java.util.List;

/**
 * @author hqw521@qq.com
 * @date 2018/11/16 10:39
 */
public interface FolderDao {
    /**
     * 向数据库中插入文件夹信息
     *
     * @param folderDto
     * @return
     */
    Integer insertFolder(FolderDto folderDto);

    /**
     * 插入一级文件夹
     * @param folderDto
     * @return
     */
    Integer insertParentFolder(FolderDto folderDto);

    /**
     * 查询用户的一级文件夹
     *
     * @return
     */
    List<Folder> findFolders();

    /**
     * 查询父文件夹下子文件夹
     *
     * @param parentFolder
     * @return
     */
    List<FoldersDto> findFoldersByParentFolder(Integer parentFolder);

    /**
     * 文件夹是否已经存在
     *
     * @param folderName
     * @param folderId
     * @return
     */
    Integer countPeerFolderByName(String folderName, Integer folderId);

    /**
     * 文件夹重命名
     *
     * @param folderName
     * @param folderId
     * @return
     */
    Integer folderRename(String folderName, Integer folderId);

    FolderAttributeDto findFolderAttribute(Integer folderId);
}
